In the computing industry, it is quite common to transfer data and commands between a plurality of data processing devices, such as computers, printers, displays, terminals, and other network resources. Interconnection of computers and other peripheral devices principally developed in the early 1970's with the advent of computer networking systems which permitted the distribution of access to computing resources beyond the immediate proximity of a mainframe computer.
Recently, "local area networks" (LANs) have been developed which allow transfer of data between a localized set of computing and peripheral devices, typically in the same geographical area such as one building or a plurality of buildings closely situated together. Examples of such LANs may be found in U.S. Pat. Nos. 4,063,220, 4,661,902, and 4,689,786.
In the AppleTalk.RTM. (a trademark of Apple Computer, Inc.) network system, each "node" or computer, printer, peripheral, and other network resources share resources with a file server. The file server includes three main AppleTalk protocols called the AppleTalk Filing Protocol (AFP), AppleTalk Session Protocol (ASP), and the operating system of the file server includes the AppleTalk Transaction Protocol (ATP). The AFP is a protocol dealing with issues that are file system related, and the ASP is a protocol for maintaining network sessions between the file server and the network entities.
A session is opened once an entity establishes communication with the server, and the ASP keeps information about the entity in a session object. After a session is created, the AFP uses the ASP to receive file system requests from network entities and to send responses back to the entities. The request and responses may be partitioned into smaller data packets and the ASP uses the ATP to send and receive these data packets over the network.
The first version of AppleTalk is known as classic AppleTalk. The assignee of the present application has developed a succeeding version of AppleTalk called OpenTransport. Both classic AppleTalk and OpenTransport provide an application programming interface (API) that allows third party developers to write network applications on top of the AppleTalk and OpenTransport network protocols. Unfortunately, the API's supported by classic AppleTalk and OpenTransport are significantly different and incompatible. Therefore, third party developers cannot write native applications that directly utilize both classic AppleTalk and OpenTransport API's.
Accordingly, what is needed is an API that facilitates the development of network applications that transparently implements native access to both classic AppleTalk and with OpenTransport. The present invention addresses such a need.